package models

import (
	"time"
)

func (BatchProjectTemplate) TableName() string {
	return "batch_project_template"
}

type BatchProjectTemplate struct {
	ID               int64       `json:"id" gorm:"primaryKey;autoIncrement"`
	AdGroupMode      string      `json:"ad_group_mode" gorm:"type:varchar(20);comment:广告分组模式 ALL=所有广告放入一个项目 BY_AD_NUM=按广告条数分配项目 BY_AUDIENCE=相同定向包放入一个项目 BY_MATERIAL=相同素材放入一个项目"`
	ProjectAdNum     int         `json:"project_ad_num" gorm:"comment:分配广告数量 当ad_group_mode为BY_AD_NUM时生效"`
	Status           int8        `json:"status" gorm:"not null;default:1;comment:项目状态 0=关闭 1=开启"`
	AllowDuplicate   int8        `json:"allow_duplicate" gorm:"default:0;comment:允许复用"`
	ProjectName      string      `json:"project_name" gorm:"type:varchar(255);comment:项目名称"`
	AutoIncrementID  int         `json:"auto_increment_id" gorm:"not null;default:1;comment:项目名称自增ID起始值 当在项目名称中添加自增ID动态词时生效"`
	SystemIdSuffix   int8        `json:"system_id_suffix" gorm:"not null;default:0;comment:项目名称是否添加系统ID后缀 0=否 1=是"`
	AudiencePackages string      `json:"audience_packages" gorm:"type:json;comment:定向包ID列表"`
	DeliverySettings interface{} `json:"delivery_settings" gorm:"type:json;comment:项目投放配置 (营销场景、投放版位、排期预算等)"`
	CreatedAt        time.Time   `json:"created_at" gorm:"not null;default:CURRENT_TIMESTAMP;comment:创建时间"`
	UpdatedAt        time.Time   `json:"updated_at" gorm:"not null;default:CURRENT_TIMESTAMP;comment:更新时间"`
	IsDeleted        int8        `json:"is_deleted" gorm:"default:0;comment:是否删除"`
	CompanyID        int         `json:"company_id" gorm:"comment:公司ID"`
	GroupID          int         `json:"group_id" gorm:"comment:部门ID"`
}
